Dynamic random access memory (DRAM) is a type of random access memory that may be constructed to store each bit of data in a separate capacitor within an integrated circuit. The charge on the capacitor is typically refreshed to maintain the data, since real capacitors leak charge.
DRAM may be arranged in a rectangular array of cells, with one capacitor and one or more transistors per cell. A read operation proceeds as follows: the row of the selected cell is activated, turning on the transistors and connecting the capacitors of that row to sense lines. The sense lines lead to the sense amplifiers, which distinguish signals that represent a stored 0 or 1. The amplified value from the appropriate column is then selected and connected to the output. At the end of a read cycle, the row values are restored to the capacitors, depleted during the read operation. During a write to a particular cell, the entire row is read out, one value is changed, and then the entire row is written back in. Thus, a write operation is accomplished by activating the row and connecting the values to be written to the sense lines, which charges the capacitors in that row to the desired values.
Typically, manufacturers specify that each row should be refreshed every 64 milliseconds (ms) or less, according to various Solid State Technology Association (formerly known as Joint Electron Device Engineering Council (JEDEC)) standards. Refresh logic is commonly used with DRAMs to automate the periodic refresh. Some systems refresh every row in a tight loop that occurs once every 64 ms. Other systems refresh one row at a time—for example, a system with 213=8192 rows might refresh memory at a rate of one row every 7.8 microseconds (μs) (64 ms/8192 rows).